<!DOCTYPE html><html>

<head>
<meta charset="utf-8">
<title># 墨轨迹现场采集人员工作手册</title>
<style>
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}
html{line-height:1}
ol,ul{list-style:none}
table{border-collapse:collapse;border-spacing:0;
  margin-top: 0;
  margin-bottom: 0.8em;
}
caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}
q,blockquote{quotes:none}
q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}
a img{border:none}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}
a{color:#1863a1}
a:visited{color:#751590}
a:focus{color:#0181eb}
a:hover{color:#0181eb}
a:active{color:#01579f}
aside.sidebar a{color:#222}
aside.sidebar a:focus{color:#0181eb}
aside.sidebar a:hover{color:#0181eb}
aside.sidebar a:active{color:#01579f}
a{-webkit-transition:color 0.3s;-moz-transition:color 0.3s;-o-transition:color 0.3s;transition:color 0.3s}

body,h1,h2,h3,h4,h5,h6,footer{font-family:"PT Sans","Helvetica Neue","Optima","Hiragino Sans GB",sans-serif}
body{line-height:1.5em;color:#222
	-webkit-text-size-adjust:none;  min-width: 200px;
  max-width: 760px;
  margin: 0 auto; padding: 1em;}

pre,code,tt,p code,li code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace}

h1{font-size:2.2em;line-height:1.2em}

h1,h2,h3,h4,h5,h6{text-rendering:optimizelegibility;margin-bottom:1em;font-weight:bold}
h2,section h1{font-size:1.5em}
h3,section h2,section section h1{font-size:1.3em}
h4,section h3,section section h2,section section section h1{font-size:1em}
h5,section h4,section section h3{font-size:.9em}
h6,section h5,section section h4,section section section h3{font-size:.8em}
.markdown-body{padding: 0px 4px;}
.markdown-body h1{position:relative;padding-top:1em;padding-bottom:0.2em;margin-bottom:1em;background:url('') bottom left repeat-x}
.markdown-body  h1 a{text-decoration:none}
.markdown-body  h1 a:hover{text-decoration:underline}

.markdown-body h2{padding-top:0.8em;padding-bottom:0.2em;background:url('') bottom left repeat-x}
.markdown-body h2:first-child,.markdown-body header+h2{padding-top:4px;}
.markdown-body h2:first-child,.markdown-body header+h2{background:none}



p,.markdown-body blockquote,ul,ol{margin-bottom:0.8em; margin-top:0.8em;}
ul{list-style-type:disc}
ul ul{list-style-type:circle;margin-bottom:0px}
ul ul ul{list-style-type:square;margin-bottom:0px}
ol{list-style-type:decimal}
ol ol{list-style-type:lower-alpha;margin-bottom:0px}
ol ol ol{list-style-type:lower-roman;margin-bottom:0px}
ul,ul ul,ul ol,ol,ol ul,ol ol{margin-left:1.3em}
ul ul,ul ol,ol ul,ol ol{margin-bottom:0em}
strong{font-weight:bold}
em{font-style:italic}
sup,sub{font-size:0.75em;position:relative;display:inline-block;padding:0 .2em;line-height:.8em}
sup{top:-.5em}
sub{bottom:-.5em}
a[rev='footnote']{font-size:.75em;padding:0 .3em;line-height:1}
q{font-style:italic}
q:before{content:"\201C"}
q:after{content:"\201D"}
em,dfn{font-style:italic}
strong,dfn{font-weight:bold}
del,s{text-decoration:line-through}
abbr,acronym{border-bottom:1px dotted;cursor:help}
small{font-size:.8em}
big{font-size:1.2em}

.markdown-body hr {
  height: 0;
  margin: 15px 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #ddd;
}

.markdown-body hr:before {
  display: table;
  content: "";
}

.markdown-body hr:after {
  display: table;
  clear: both;
  content: "";
}


.markdown-body table {
  display: block;
  width: 100%;
  overflow: auto;
  word-break: normal;
  word-break: keep-all;
}

.markdown-body table th {
  font-weight: bold;
}

.markdown-body table th,
.markdown-body table td {
  padding: 6px 13px;
  border: 1px solid #ddd;
}

.markdown-body table tr {
  background-color: #fff;
  border-top: 1px solid #ccc;
}

.markdown-body table tr:nth-child(2n) {
  background-color: #f8f8f8;
}

.markdown-body blockquote{font-style:italic;position:relative;font-size:1.2em;line-height:1.5em;padding-left:1em;border-left:4px solid rgba(170,170,170,0.5)}
.markdown-body blockquote cite{font-style:italic}
.markdown-body blockquote cite a{color:#aaa !important;word-wrap:break-word}
.markdown-body blockquote cite:before{content:'\2014';padding-right:.3em;padding-left:.3em;color:#aaa}

.markdown-body a{white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word}

body>header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em}
.markdown-body{overflow:hidden}
.markdown-body>div,.markdown-body>article{width:100%}
aside.sidebar{float:none;padding:0 18px 1px;background-color:#f7f7f7;border-top:1px solid #e0e0e0}
.flex-content,article img,article video,article .flash-video,aside.sidebar img{max-width:100%;height:auto}
.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left{float:left;margin-right:1.5em}
.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{float:right;margin-left:1.5em}
.basic-alignment.center,article img.center,article video.center,article .center.flash-video,aside.sidebar img.center{display:block;margin:0 auto 1.5em}
.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left,.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{margin-bottom:.8em}
.toggle-sidebar,.no-sidebar .toggle-sidebar{display:none}


.markdown-body img,.markdown-body video,.markdown-body .flash-video{ -webkit-border-radius:0.3em;-moz-border-radius:0.3em;-ms-border-radius:0.3em;-o-border-radius:0.3em;border-radius:0.3em;-webkit-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-moz-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:#fff 0.5em solid;}

.markdown-body img,.markdown-body video{max-width: 100%;}
.markdown-body video,.markdown-body .flash-video{margin:0 auto 1.5em}
.markdown-body video{display:block;width:100%}
.markdown-body .flash-video>div{position:relative;display:block;padding-bottom:56.25%;padding-top:1px;height:0;overflow:hidden}
.markdown-body .flash-video>div iframe,.markdown-body .flash-video>div object,.markdown-body .flash-video>div embed{position:absolute;top:0;left:0;width:100%;height:100%}
.markdown-body>footer{padding-bottom:2.5em;margin-top:2em}
.markdown-body>footer p.meta{margin-bottom:.8em;font-size:.85em;clear:both;overflow:hidden}


body,pre{ background:#fdf6e3 url('') top left;}
body{ background-color: #f8f8f8;}
pre{-webkit-border-radius:0.4em;-moz-border-radius:0.4em;-ms-border-radius:0.4em;-o-border-radius:0.4em;border-radius:0.4em;border:1px solid #e7dec3;line-height:1.45em;font-size:13px;margin-bottom:2.1em;padding:.8em 1em;color:#586e75;overflow:auto}
.markdown-body code{background: none;}
h3.filename+pre{-moz-border-radius-topleft:0px;-webkit-border-top-left-radius:0px;border-top-left-radius:0px;-moz-border-radius-topright:0px;-webkit-border-top-right-radius:0px;border-top-right-radius:0px}
p code,li code{display:inline-block;white-space:no-wrap;background:#fff;font-size:.8em;line-height:1.5em;color:#555;border:1px solid #ddd;-webkit-border-radius:0.4em;-moz-border-radius:0.4em;-ms-border-radius:0.4em;-o-border-radius:0.4em;border-radius:0.4em;padding:0 .3em;margin:-1px 0}
p pre code,li pre code{font-size:1em !important;background:none;border:none}

/*

Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>

*/

.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  background: #fdf6e3;
  color: #657b83;
  -webkit-text-size-adjust: none;
}

.hljs-comment,
.diff .hljs-header,
.hljs-doctype,
.hljs-pi,
.lisp .hljs-string {
  color: #93a1a1;
}

/* Solarized Green */
.hljs-keyword,
.hljs-winutils,
.method,
.hljs-addition,
.css .hljs-tag,
.hljs-request,
.hljs-status,
.nginx .hljs-title {
  color: #859900;
}

/* Solarized Cyan */
.hljs-number,
.hljs-command,
.hljs-string,
.hljs-tag .hljs-value,
.hljs-rule .hljs-value,
.hljs-doctag,
.tex .hljs-formula,
.hljs-regexp,
.hljs-hexcolor,
.hljs-link_url {
  color: #2aa198;
}

/* Solarized Blue */
.hljs-title,
.hljs-localvars,
.hljs-chunk,
.hljs-decorator,
.hljs-built_in,
.hljs-identifier,
.vhdl .hljs-literal,
.hljs-id,
.css .hljs-function,
.hljs-name {
  color: #268bd2;
}

/* Solarized Yellow */
.hljs-attribute,
.hljs-variable,
.lisp .hljs-body,
.smalltalk .hljs-number,
.hljs-constant,
.hljs-class .hljs-title,
.hljs-parent,
.hljs-type,
.hljs-link_reference {
  color: #b58900;
}

/* Solarized Orange */
.hljs-preprocessor,
.hljs-preprocessor .hljs-keyword,
.hljs-pragma,
.hljs-shebang,
.hljs-symbol,
.hljs-symbol .hljs-string,
.diff .hljs-change,
.hljs-special,
.hljs-attr_selector,
.hljs-subst,
.hljs-cdata,
.css .hljs-pseudo,
.hljs-header {
  color: #cb4b16;
}

/* Solarized Red */
.hljs-deletion,
.hljs-important {
  color: #dc322f;
}

/* Solarized Violet */
.hljs-link_label {
  color: #6c71c4;
}

.tex .hljs-formula {
  background: #eee8d5;
}


</style>

<style> @media print{ .hljs{overflow: visible; word-wrap: break-word !important;} }</style></head><body><div class="markdown-body">
<h1 id="toc_0">墨轨迹现场采集人员工作手册</h1>

<p>版本号：V_2.0.4</p>

<p>撰写人：赵永春</p>

<p>撰写时间：2016年04月07日</p>

<p>产品负责人： <a href="mailto:zyc@nexdtech.com">zyc@nexdtech.com</a></p>

<p>数据管理员： <a href="mailto:yhb@nexdtech.com">yhb@nexdtech.com</a></p>

<p>账户管理员： <a href="mailto:yhb@nexdtech.com">yhb@nexdtech.com</a></p>

<p>APK管理员： <a href="mailto:wx@nexdtech.com">wx@nexdtech.com</a></p>

<p>适用人员：现场采集人员</p>

<p>文档目的：规范现场采集工作人员的工作流程，尽可能的降低由于不规范工作而造成问题的概率，并对现场采集工作中出现较多的一些问题进行集中解答。</p>

<h2 id="toc_1">目录</h2>

<ul>
<li>
<a href="#toc_0">墨轨迹现场采集人员工作手册</a>
<ul>
<li>
<a href="#toc_1">目录</a>
</li>
<li>
<a href="#toc_2">版本历史</a>
</li>
<li>
<a href="#toc_3">前言</a>
</li>
<li>
<a href="#toc_4">初始化工作</a>
</li>
<li>
<a href="#toc_5">常用工具</a>
</li>
<li>
<a href="#toc_6">工具使用介绍</a>
<ul>
<li>
<a href="#toc_7">采集使用环境及条件</a>
</li>
<li>
<a href="#toc_8">登录</a>
</li>
<li>
<a href="#toc_9">采集工作</a>
</li>
<li>
<a href="#toc_10">配置采集模式</a>
</li>
<li>
<a href="#toc_11">配置采集商场</a>
</li>
</ul>
</li>
<li>
<a href="#toc_12">采集文件</a>
</li>
<li>
<a href="#toc_13">Q&amp;A</a>
<ul>
<li>
<a href="#toc_14"><strong>Wi-Fi 采集问题</strong></a>
</li>
<li>
<a href="#toc_15"><strong>蓝牙采集问题</strong></a>
</li>
<li>
<a href="#toc_16"><strong>采集通用问题</strong></a>
</li>
<li>
<a href="#toc_17">数据问题</a>
</li>
<li>
<a href="#toc_18">安装问题</a>
</li>
</ul>
</li>
<li>
<a href="#toc_19">总结</a>
</li>
</ul>
</li>
</ul>


<h2 id="toc_2">版本历史</h2>

<p><strong><em>V_1.0.0  赵永春 2016年04月07日</em></strong></p>

<p>该手册的初步撰写。主要是将手册中的主要模块进行划分，并对一部分工作进行细化。</p>

<p><strong><em>V_1.0.0 王旭 2016年4月8日</em></strong></p>

<p>完善初始化工作，采集流程等在采集中涉及到的问题，并做出解答。</p>

<p><strong><em>V_1.0.0 王旭 2016年4月25日</em></strong></p>

<p>完善问题与解答的内容</p>

<p><strong><em>V_2.0.1 王旭 2016年11月11日</em></strong></p>

<ol>
<li>实现账户功能</li>
<li>更新使用说明书页面UI</li>
<li>增加常用配置选项</li>
<li>修复Activity启动模式问题</li>
<li>修复权限逻辑问题</li>
<li>修复无法读取本地采集文件和错误日志信息</li>
<li>版本号更新</li>
<li>更新使用手册</li>
<li>优化压缩过程，避免因数据量过大，导致应用崩溃</li>
<li>增加针对定位测试的频率调整</li>
<li>增加对采集文件，定位文件存储路径的提醒</li>
<li>优化采集设置的 UI ，避免卡顿现象</li>
<li>向下兼容到 API 18, Android 4.4</li>
</ol>

<p><strong><em>V_2.0.4 王旭 2016年12月05日</em></strong></p>

<ol>
<li>优化蓝牙采集及定位策略</li>
<li>追加对 debug 包及 release 包的声明</li>
<li>升级管理：

<ul>
<li>登录页面，自动检查更新</li>
<li>关于我们页，添加手动检查更新</li>
</ul></li>
<li>还原定位测试的路径，数据入库</li>
<li>一键导出所有位置信息，存储在磁盘中

<ul>
<li>导出路径 /nexd/export/mall/export_timestamp.zip</li>
</ul></li>
<li>定位文件下载

<ul>
<li>检测本地定位文件，存在提醒用户是否更新下载</li>
<li>检测本地定位文件，不存在，直接请求下载</li>
</ul></li>
<li>使用手册增加以上修改的描述</li>
<li>修改UMeng 和 Pgy 异常管理， debug 模式下， 不上传</li>
</ol>

<h2 id="toc_3">前言</h2>

<p><strong>所有 Nexd 小伙伴，采集必须使用 Nexus Android 5.0 及以上设备，如出现其他机型导致程序 Crash 及损失，请自己打脸。</strong></p>

<h2 id="toc_4">初始化工作</h2>

<p>采集工作开始之前，请确保设备在一个可使用的状态:</p>

<ol>
<li>设备重启: 确保你的设备重启过,所有东西都处于可用状态.</li>
<li>时间校准: 确保你的时间与北京时间对齐.</li>
<li>开启检查: 确保你要采集的 Wi-Fi 或 蓝牙 是处于开启状态.</li>
<li><p>在采集 Wi-Fi 时,在信号量非常大(超过200个)时, 检查当前设备是否是 Android 6.0 的设备, 检查方法:</p>

<p>打开&quot;设置&quot; --&gt; “关于手机“ --&gt; “Android 版本”。</p>

<p>如图：<br/>
<img src="media/14797209282540/android-version.jpg" alt="android-version"/>￼</p></li>
</ol>

<h2 id="toc_5">常用工具</h2>

<p>常用工具是用来检查当前运行环境的辅助工具， 用于和我们的采集端进行数据对比校验，方便快速查找定位问题的产生原因。</p>

<ol>
<li><p><strong>Wi-Fi 分析仪</strong></p>

<p>Wi-Fi 分析仪把你Android手机变成一个 Wi-Fi 分析仪。它可以显示你周围的 Wi-Fi 信道使用情况。我们可以借助这个工具，查看我们当前能够搜索到的 Wi-Fi 信号强度，数量；并与我们的采集设备进行数据对比，分析。</p>

<p><img src="media/14797209282540/wifi_any.jpg" alt="wifi_any"/>￼</p></li>
<li><p><strong>BLEDeng</strong></p>

<p>BLEDeng 可以扫描到周围的 BLE 设备（包括本机其他应用链接的）， 并能够动态的跟踪 BLE 设备的 RSSI ， 统计和根据信号排序扫描到的 BLE 外设。</p>

<p><img src="media/14797209282540/bleDeng.jpg" alt="bleDeng"/>￼</p></li>
</ol>

<h2 id="toc_6">工具使用介绍</h2>

<h3 id="toc_7">采集使用环境及条件</h3>

<p><em>需要允许权限</em></p>

<p>允许权限是保证采集工具能过正常工作的重要指标， 当前只有权限被允许时，采集工具才可以搜寻到附近信号，并收集存储。<br/>
<img src="media/14797209282540/permission_requeir.jpg" alt="permission_requei"/>￼</p>

<p>如果权限被拒绝，并且不能够顺利的使用工具时，可以在&quot;设置&quot;--&gt; &quot;应用&quot; --&gt; ”持续采集”--&gt; &quot;权限&quot; 中查看到当前被拒绝的权限，更改为允许即可，即将下图中所有的权限允许。</p>

<p><img src="media/14797209282540/permission.jpg" alt="permission"/>￼</p>

<h3 id="toc_8">登录</h3>

<p>登录是用来进入采集页面的必经之路，只有登录成功后，才可以正常使用采集工具；<br/>
 当系统提示登录失败时，请寻找一个网络环境好的地方，联网，获取账户和密码信息，如仍未登录成功， 请电话联系，获取账户信息。</p>

<ol>
<li>按照输入框提示输入账号和密码信息。</li>
<li>勾选记住账号，可记住账户，但不会记录密码，方便下次录入。</li>
<li>首次安装，需要先点击 “更新数据” 按钮，获取服务器数据；后续安装不需要更新数据</li>
<li>新用户无法登录本系统时，请点击更新数据，获取个人信息。扔无法登录时，请联系账户管理员。
<img src="media/14797209282540/denglu.jpg" alt="denglu"/>￼</li>
</ol>

<h3 id="toc_9">采集工作</h3>

<p>进入这里后，证明您已经检查好您的所有配置，并确保设备能够正常使用。</p>

<p>开始配置您需要采集的事项：</p>

<h3 id="toc_10">配置采集模式</h3>

<p>采集模式有两种： <em>Wi-Fi 、蓝牙</em>。</p>

<p>目前采集器采集时，只允许一种采集方式运行，故如下图，WiFi 采集和蓝牙采集只能同时跑一个，根据现场，以及需求需要，进行相关调整。</p>

<p><img src="media/14797209282540/main_page.jpg" alt="main_page"/>￼</p>

<p>如上图，采集器主功能面板，以下是对主面板的功能介绍：</p>

<ul>
<li>1 中显示的是采集器的御用参数，无法修改，当进行采集时，将使用这个参数进行采集。</li>
<li>2 是由采集人员决定的采集方式，使用开关的方式对蓝牙和 WiFi 进行控制，目前采集器同时仅允许一种信号被采集，故 WiFi 和 蓝牙只能有一个起作用。</li>
<li><p>3 中显示的是当前应用的相关信息，系统版本，应用版本等；其中附带产品的使用手册，即你当前看到的这个。可帮助你好好使用本产品。 注：下图中当前版本后面的 _debug 标识为当前 Apk 为测试打包，当标记为 _release 时，为正式版本。</p>

<p>检查更新： 手动检查更新，获取最新版本APK。<br/>
<img src="media/14797209282540/about_me.jpg" alt="about_me"/>￼</p></li>
<li><p>4 为文件管理界面，你可以看到你所采集到的采集文件，以及程序在运行时，出现的错误信息；相关采集生成的文件，只能用来看，不能操作；错误信息可点击文件名查看，方便外出人员出现问题时，无法定位到准确业务；</p></li>
<li><p>导出轨迹，用来将记录在数据库中定位数据，导出生成文件，存储在/nexd/export/mall/export_timestamp.zip下， 每一次导出，都会生成相应的zip包； 因数据量过大，请耐心等待， 导出后，记录会被清空，请注意。<br/>
<img src="media/14797209282540/collector_file_file.jpg" alt="collector_file_file"/>￼</p>

<p><img src="media/14797209282540/error_file_list.jpg" alt="error_file_list"/>￼<br/>
<img src="media/14797209282540/error_file_content.jpg" alt="error_file_content"/>￼</p></li>
</ul>

<p>查看错误日志信息时，可点击任意空白处，关闭日志页面。<br/>
    导出轨迹： 将定位测试中记录的数据，导出。 点击右上角“导出轨迹”按钮，耐心等待。<br/>
    <img src="media/14797209282540/export_guiji.jpg" alt="export_guiji"/>￼</p>

<ul>
<li>5 中显示的是当前登录用户的基本信息</li>
<li>6 选定采集方式--即 WiFi 和蓝牙的开关保证有且只有一个为开启状态，点击 “开始采集”，进入商场选择列表</li>
<li>7 定位测试，采集测试人员可将训练好的所有数据存放在“/nexdLocation/location/buildingId”目录下， 进行定位测试，如：/nexdLocation/location/10100123/101001230001.svg；/nexdLocation/location/10100123/101001230001.wifilist。 如下图:</li>
</ul>

<p><img src="media/14797209282540/location_conf.jpg" alt="location_conf"/>￼</p>

<ul>
<li><p>更新楼层信息数据，从服务器获取楼层信息，如果升级安装后，无法进行开始测试，会提醒更新数据，请注意。数据更新后无需手动输入楼层编号。</p></li>
<li><p>选择定位模式--即你定位的信号，测试时，可通过点击定位频率选择适合的定位频率进行测试 1000/1500/2000/2500/3000/4000/5000/10000，点击开始测试</p></li>
<li><p>增加自动切层选择框，可根据需要测试自动切换楼层测试。</p></li>
<li><p>点击开始测试，优先检测本地定位文件，存在，提醒&quot;检测到本地存在配置文件，请确认是否为最新，确认请点击&quot;确认&quot;，否则点击&quot;下载&quot;&quot;， 请使用者自行判断本地文件是否是最新的。 注：<font color=red>采集后，自己导入的文件可默认为最新文件，无需下载。</font></p></li>
<li><p>如果未检测到文件， 会自行下载相关文件。</p>

<p><img src="media/14797209282540/download.png" alt="download"/>￼</p></li>
</ul>

<p><font color=red size=5>当定位文件测试通过后，需要上传至服务器，请联系 <a href="mailto:yhb@nexdtech.com">yhb@nexdtech.com</a>， 并将文件以附件的是形式发送，并附相关说明</font> </p>

<p>定位如下图：</p>

<p><img src="media/14797209282540/location_demo.jpg" alt="location_demo"/>￼</p>

<p>定位时，会将定位时收集的信号和位置信息记录存储，以备导出.</p>

<h3 id="toc_11">配置采集商场</h3>

<p>点击“开始采集”按钮， 进入选择商城页面，根据商场所在的城市，选择对应的商场。<br/>
<img src="media/14797209282540/select_buildings.jpg" alt="select_buildings"/>￼</p>

<p>如果看不到商场信息，且页面显示“没有数据哦”的提示时，可在网络畅通的环境下，点击右上角的云朵按钮，拉去商场数据。</p>

<p><em>升级到 V_2.0.7 版本后，需要点击更新数据，获取楼层信息，放可进行定位测试。</em></p>

<p>在列表中点击要采集的商场信息名称，即可进入到采集监控页面。</p>

<p><strong>输入楼层名称</strong></p>

<p>在采集页面上的输入框中，输入您准备采集的商场楼层名称，方便寻找记录存储的采集数据文件。如图：<br/>
<img src="media/14797209282540/collect_main.jpg" alt="collect_main"/>￼</p>

<p>都准备好后，请确定您已开启您的 Wi-Fi 或 蓝牙 是开启状态，并能正常使用。 如果 Wi-Fi 或 蓝牙 并没有开启，采集器并不会扫描到数据。</p>

<p><strong>开始采集</strong></p>

<p>确定准备好后,向右滑动绿色滑块,开始采集,采集成功后,页面会更新采集到的数据信息。<br/>
<img src="media/14797209282540/collecting.jpg" alt="collecting"/>￼</p>

<p><strong>结束采集</strong></p>

<p>当采集工作完成之后，需要停止采集器时，向左滑动红色滑块到头， 会弹出正在压缩文件的提示窗口，当文件压缩完成后，该提示框会自动小时，因为采集文件较大， 压缩需要时间，切勿关闭采集器，否则文件压缩会失败。如果出现1小时以上的时间，该提示窗都没有小时，请联系我。并附带发送相关的错误信息。<br/>
<img src="media/14797209282540/collection_finish.jpg" alt="collection_finish"/>￼</p>

<h2 id="toc_12">采集文件</h2>

<p>采集完成后，系统会自动保存您采集的数据，并存储在存储卡的&quot;/nexd/collect/当前日期/&quot; 目录下，并会将您配置采集的商场名称，楼层名称，采集时间以文件名的方式存储为一个压缩包。 如图：<br/>
<img src="media/14797209282540/collection_file_menu.png" alt="collection_file_menu"/>￼</p>

<h2 id="toc_13">Q&amp;A</h2>

<h3 id="toc_14"><strong>Wi-Fi 采集问题</strong></h3>

<hr/>

<p><strong>Q: Wi-Fi 环境参量为 0？</strong></p>

<p><strong>A:</strong> 请检查当前 Wi-Fi 是否被开启，开启状态下，使用系统的 Wi-Fi 扫描，检查是否能够扫描到AP。如果能，关闭 Wi-Fi 再重新启动；如果不能，重新启动设备，再次检查。如果问题重复出现， 或系统也无法扫描到附近的AP时， 先确认附近是否有AP，如果有， 则说明，设备已损坏，请更换新设备。</p>

<h3 id="toc_15"><strong>蓝牙采集问题</strong></h3>

<hr/>

<p><strong>Q: Beacon 环境参量为 0？</strong></p>

<p><strong>A：</strong>请检查当前 蓝牙 是否被开启，开启状态下，使用系统的 蓝牙 扫描，检查是否能够扫描到AP。如果能，关闭 蓝牙 再重新启动；如果不能，重新启动设备，再次检查。如果问题重复出现， 或系统也无法扫描到附近的AP时， 先确认附近是否有AP，如果有， 则说明，设备已损坏，请更换新设备。</p>

<p><strong>Q：摆设方式？</strong></p>

<p><strong>A:</strong> Beacon 的铺设位置，Beacon 的工作频率等信息， 要求每次使用时，都要记录，并形成文档进行备份存储。每次铺设 Beacon 测试时，都要严格按照上一次的铺设方式进行铺设。</p>

<h3 id="toc_16"><strong>采集通用问题</strong></h3>

<hr/>

<p><strong>Q: 采集过程中 crash（崩溃)</strong></p>

<p><strong>A:</strong> 当程序崩溃后，不要着急，先自行的重复崩溃前的操作，重新复现（搞出来）这个问题。并要达到自己直接就能定位到产生这个问题的操作位置。方便这边排查问题。</p>

<h3 id="toc_17">数据问题</h3>

<hr/>

<p><strong>Q: 登录失败</strong></p>

<p><strong>A:</strong>  当采集人员登录时，提示登录失败后：<br/>
1. 检查是否输入有误。<br/>
2. 新采集人员，请联系北京进行账号分配。</p>

<p><strong>Q：目标商场不存在</strong></p>

<p><strong>A：</strong> 在选择商场列表页面寻找商场时，并没有找到要采集的商场时，请不要随意使用其他商场的名称进行采集，请<strong>严格遵守</strong>。这时，请在保持设备在有良好网络的情况下，重新启动APP， 这时，如果仍然没有时， 请联系北京，讲你的目标商场添加到列表中，再重新启动，更新本地数据。</p>

<p><strong>Q: 数据存储</strong></p>

<p><strong>A:</strong>  </p>

<p>采集数据存储在 /nexd/collect/当前日期<br/>
定位数据存储在 /nexdLocation/location/buildingId</p>

<p>如定位文件下载后，仍提示“未找到/参数异常”,请检查本地是否真的存在相应楼层的文件，如果不存在，请联系管理员 <a href="mailto:yhb@nexdtech.com">yhb@nexdtech.com</a> 。</p>

<p>以上目录如出现创建失败的情况， 请检查权限是否允许。</p>

<h3 id="toc_18">安装问题</h3>

<hr/>

<p><strong>Q: Apk 安装失败</strong></p>

<p><strong>A:</strong> <br/>
安装 APK 请从云盘自行下载</p>

<p>安装时，如果出现安装失败时，请先查阅当前版本是否为 debug 版本，请查看“关于我们” 的介绍，如为 debug 版本，请先卸载，在重新安装，如果是 release 版本，请检查“关于我们”中的版本号和当前要安装的版本号对比，如果比当前要安装的版本号高，请先卸载在安装，否则，请联系开发人员。 如下图：<br/>
<img src="media/14797209282540/install_%20conflict.jpg" alt="install_ conflict"/>￼</p>

<p>如果应用已经卸载，但仍安装不上，请到 &quot;设置 &gt; 应用&quot; 中寻找，并进行如下操作：<br/>
<img src="media/14797209282540/uninstall_failed.jpg" alt="uninstall_failed"/>￼</p>

<p>点击“持续采集”，进入持续采集应用管理页面，并点击右上角的“ ：”，点击“为所有用户卸载”</p>

<p><img src="media/14797209282540/ready_uninstall.jpg" alt="ready_uninstal"/>￼</p>

<p>点击确定，完成卸载。</p>

<p>完成卸载之后，在进行安装操作。</p>

<h2 id="toc_19">总结</h2>

<p><font color=red size=25>提醒:</font></p>

<ol>
<li><p>出现以上所有问题后，请截取手机屏幕，保留截图，并添加到邮件附件中。所有问题，先写邮件，在进行电话沟通。所有邮件，在收到后，请立即回复“收到”。以便问题能够及时处理。</p></li>
<li><p>关于数据，登录账户，以及异常等问题，请邮件至相应管理员邮箱，并抄送相关人员。</p></li>
<li><p>崩溃问题，请提供相应的操作流程， error 信息， 定位位置等。如问题描述不清，可以采用录屏的方式，并将以上信息，打包 zip，发送至相关人员邮箱中。</p></li>
<li><p>所有问题，以邮件为主，没有邮件不予处理， 所有问题，先发邮件。</p></li>
</ol>

</div></body>

</html>
